package com.xiaoming.project.core;

public class GameTest {

    public static void main(String[] args) {
    }

    public abstract class Player<T extends Weapon> {
        T weapon;

        public T getWeapon() {
            return weapon;
        }

        public void setWeapon(T weapon) {
            this.weapon = weapon;
        }

    }
    class Fighter extends Player {

    }
    class Mage extends Player {}
    abstract class Monster {
        Long health;
    }
    class Orc extends Monster {}
    class Elf extends Monster {}
    class Dragoon extends Monster {}
    abstract class Weapon {
        int damage;
        int damageType; // 0 - physical, 1 - fire, 2 - ice etc.
    }
    class Sword extends Weapon {}
    class Staff extends Weapon {}

}
